package fiuba.algo3.persistencia;

import java.util.List;

import fiuba.algo3.Pista;
import fiuba.algo3.XMLProcessor.nucleo.NodoXML;

public class ConstructorPista
{
	public static final String CLASE = "Pista";

	private static boolean puedeSerConstruido(NodoXML nodo)
	{
		return nodo.nombre().equals("objeto") &&
				nodo.obtenerValorAtributo("clase").equals(CLASE);
	}

	public static Pista construir(NodoXML nodoObjetoPista)
	{
		if (!puedeSerConstruido(nodoObjetoPista)) return null;

		List<NodoXML> tablaValores = nodoObjetoPista.obtenerHijos();

		String pistaFacil = "pista facil";
		String pistaMedia = "pista media";
		String pistaDificil = "pista dificil";

		for (NodoXML nodo : tablaValores)
		{
			if (nodo.nombre().equals("campo"))
				{
					String valor = nodo.obtenerValorAtributo("nombre"); 
					if (valor.equals("pistaFacil"))
						pistaFacil = (String)ConstructorPrimitivos.construir(nodo.obtenerPrimogenito());
					else if (valor.equals("pistaMedia"))
						pistaMedia = (String)ConstructorPrimitivos.construir(nodo.obtenerPrimogenito());
					else if (valor.equals("pistaDificil"))
						pistaDificil = (String)ConstructorPrimitivos.construir(nodo.obtenerPrimogenito());
				}
		}

		return new Pista(pistaFacil, pistaMedia, pistaDificil);
	}
}
